import { createRouter, createWebHashHistory, RouteRecordRaw } from 'vue-router'
import store from '@/store/index'
//进度条
import NProgress from 'nprogress'
import 'nprogress/nprogress.css'
const routes: Array<RouteRecordRaw> = [
    {
        path: '/login',
        name: 'login',
        component: () => import('@/views/login/login.vue'),
    },
]

const router = createRouter({
    history: createWebHashHistory(),
    routes,
})

router.beforeEach((to: any, from: any, next: any) => {
    NProgress.start()
    //未登陆
    if (!window.sessionStorage.getItem('token') && !window.sessionStorage.getItem('userInfo') && to.path !== '/login') {
        return next({ path: '/login' })
    }
    //已登陆
    if (window.localStorage.getItem('token') && to.path == '/login') return next({ path: '/' })
    //重新加载动态路由
    if (!store.state.permissionList && to.path != '/login') {
        return store.dispatch('FETCH_PERMISSION').then(() => {
            next({ ...to, replace: true })
        })
    } else {
        next()
    }
})
router.afterEach((to: any, from: any, next: any) => {
    NProgress.done()
    try {
        //设置标题
        if (to.meta.name) {
            document.title = to.meta.name
        }
    } catch (err) { }
    let routerList = to.matched
    //顶部面包屑
    store.commit('setCrumbList', routerList)
    //目前左边导航选中的active
    store.commit('SET_CURRENT_MENU', to.name)
})
/* 固定的路由 */
/*
    meta:{
        name:侧边栏名字,
        icon:侧边栏图标,
        hide:是否在侧边栏隐藏
    }
*/

export const DynamicRoutes = [
    {
        path: '',
        component: () => import('@/components/nav/nav.vue'),
        name: 'container',
        meta: {
            name: '首页',
        },
        children: []
        // children: [
        //     {
        //         path: 'home',
        //         component: () => import('@/views/home/home.vue'),
        //         name: 'home',
        //         meta: {
        //             name: '首页',
        //             icon: 'el-icon-s-home',
        //         },
        //     },
        //     {
        //         path: 'financial-management',
        //         component: () => import('@/views/financial-management/index.vue'),
        //         name: 'router',
        //         meta: {
        //             name: '我的',
        //             icon: 'el-icon-guide',
        //             hide: false,
        //         },
        //         children: [
        //             {
        //                 path: 'tuition-management',
        //                 component: () => import('@/views/financial-management/tuition-management.vue'),
        //                 name: 'TuitionManagement',
        //                 meta: {
        //                     name: '我的课表',
        //                     icon: 'el-icon-set-up',
        //                     hide: false,
        //                 },
        //             },
        //             {
        //                 path: 'salary-management',
        //                 component: () => import('@/views/financial-management/salary-management.vue'),
        //                 name: 'SalaryManagement',
        //                 meta: {
        //                     name: '我的学员',
        //                     icon: 'el-icon-s-operation',
        //                     hide: false,
        //                 },
        //             },
        //             // {
        //             //     path: 'logistics-expenditure',
        //             //     component: () => import('@/views/financial-management/logistics-expenditure.vue'),
        //             //     name: 'LogisticsExpenditure',
        //             //     meta: {
        //             //         name: '我的请款',
        //             //         icon: 'el-icon-set-up',
        //             //         hide: true,
        //             //     },
        //             // },
        //             // {
        //             //     path: 'activity-expenditure',
        //             //     component: () => import('@/views/financial-management/activity-expenditure.vue'),
        //             //     name: 'ActivityExpenditure',
        //             //     meta: {
        //             //         name: '我的信息',
        //             //         icon: 'el-icon-set-up',
        //             //         hide: true,
        //             //     },
        //             // },
        //         ],
        //     },
        //     // {
        //     //     path: 'color',
        //     //     component: () => import('@/views/color/color.vue'),
        //     //     name: 'color',
        //     //     meta: {
        //     //         name: '学员管理',
        //     //         icon: 'el-icon-brush',
        //     //         hide: true,
        //     //     },
        //     //     children: [
        //     //         {
        //     //             path: 'online-trainees',
        //     //             component: () => import('@/views/color/onlineTrainees.vue'),
        //     //             name: 'onlineTrainees',
        //     //             meta: {
        //     //                 name: '在线学员',
        //     //                 icon: 'el-icon-set-up',
        //     //                 hide: false,
        //     //             },
        //     //         },
        //     //         {
        //     //             path: 'parent-contact',
        //     //             component: () => import('@/views/color/parentContact.vue'),
        //     //             name: 'parentContact',
        //     //             meta: {
        //     //                 name: '家长联系',
        //     //                 icon: 'el-icon-set-up',
        //     //                 hide: false,
        //     //             },
        //     //         },
        //     //         {
        //     //             path: 'class-hours',
        //     //             component: () => import('@/views/color/classHours.vue'),
        //     //             name: 'classHours',
        //     //             meta: {
        //     //                 name: '课时汇总',
        //     //                 icon: 'el-icon-set-up',
        //     //                 hide: false,
        //     //             },
        //     //         },
        //     //         {
        //     //             path: 'students-leave',
        //     //             component: () => import('@/views/color/studentsLeave.vue'),
        //     //             name: 'studentsLeave',
        //     //             meta: {
        //     //                 name: '学员请假',
        //     //                 icon: 'el-icon-set-up',
        //     //                 hide: false,
        //     //             },
        //     //         },
        //     //     ],
        //     // },
        //     {
        //         path: 'language',
        //         component: () => import('@/views/language/index.vue'),
        //         name: 'language',
        //         meta: {
        //             name: '教务管理',
        //             icon: 'el-icon-s-flag',
        //         },
        //         children: [
        //             {
        //                 path: 'lessons',
        //                 component: () => import('@/views/language/lessons.vue'),
        //                 name: 'lessons',
        //                 meta: {
        //                     name: '课程表',
        //                     icon: 'el-icon-set-up',
        //                     hide: false,
        //                 },
        //             },
        //             {
        //                 path: 'schedule',
        //                 component: () => import('@/views/language/schedule.vue'),
        //                 name: 'schedule',
        //                 meta: {
        //                     name: '排课计划',
        //                     icon: 'el-icon-question',
        //                     hide: false,
        //                 },
        //             },
        //             {
        //                 path: 'online-trainees',
        //                 component: () => import('@/views/language/curriculum-management.vue'),
        //                 name: 'onlineTrainees',
        //                 meta: {
        //                     name: '课程管理',
        //                     icon: 'el-icon-full-screen',
        //                     hide: false,
        //                 },
        //             },
        //             // {
        //             //     path: 'class-management',
        //             //     component: () => import('@/views/language/class-management.vue'),
        //             //     name: 'classManagement',
        //             //     meta: {
        //             //         name: '班级管理',
        //             //         icon: 'el-icon-set-up',
        //             //         hide: true,
        //             //     },
        //             // },
        //             {
        //                 path: 'class-room',
        //                 component: () => import('@/views/language/class-room.vue'),
        //                 name: 'classRoom',
        //                 meta: {
        //                     name: '教室管理',
        //                     icon: 'el-icon-map-location',
        //                     hide: false,
        //                 },
        //             },
        //         ],
        //     },
        //     // {
        //     //     path: 'payment',
        //     //     component: () => import('@/views/icon/index.vue'),
        //     //     name: 'Payment',
        //     //     meta: {
        //     //         name: '款项管理',
        //     //         icon: 'el-icon-picture-outline-round',
        //     //         hide: false
        //     //     },
        //     //     children: [
        //     //         {
        //     //             path: 'appropriation',
        //     //             component: () => import('@/views/payment/appropriation.vue'),
        //     //             name: 'Appropriation',
        //     //             meta: {
        //     //                 name: '款项审批',
        //     //                 icon: 'el-icon-picture-outline-round',
        //     //                 hide: false
        //     //             }
        //     //         },
        //     //         {
        //     //             path: 'payment-approve',
        //     //             component: () => import('@/views/payment/payment-approve.vue'),
        //     //             name: 'payment-approve',
        //     //             meta: {
        //     //                 name: '款项审批',
        //     //                 icon: 'el-icon-picture-outline-round',
        //     //                 hide: false
        //     //             }
        //     //         }
        //     //     ]
        //     // },
        //     {
        //         path: 'icon',
        //         component: () => import('@/views/icon/index.vue'),
        //         name: 'icon',
        //         meta: {
        //             name: '运营管理',
        //             icon: 'el-icon-s-data',
        //         },
        //         children: [
        //             {
        //                 path: 'intended-customers',
        //                 component: () => import('@/views/icon/intended-customers.vue'),
        //                 name: 'intended-customers',
        //                 meta: {
        //                     name: '信息录入',
        //                     icon: 'el-icon-document',
        //                 },
        //             },
        //             {
        //                 path: 'elicon',
        //                 component: () => import('@/views/icon/el-icon.vue'),
        //                 name: 'elicon',
        //                 meta: {
        //                     name: '报名管理',
        //                     icon: 'el-icon-caret-bottom',
        //                 },
        //             },
        //             {
        //                 path: 'aliicon',
        //                 component: () => import('@/views/icon/ali-icon.vue'),
        //                 name: 'aliicon',
        //                 meta: {
        //                     name: '审批管理',
        //                     icon: 'el-icon-caret-top',
        //                 },
        //             },
        //         ],
        //     },
        //     {
        //         path: 'table',
        //         component: () => import('@/views/table/index.vue'),
        //         name: 'table',
        //         meta: {
        //             name: '职位/人员管理',
        //             icon: 'el-icon-s-grid',
        //         },
        //         children: [
        //             {
        //                 path: 'basics',
        //                 component: () => import('@/views/table/basics.vue'),
        //                 name: 'basics',
        //                 meta: {
        //                     name: '教师管理',
        //                     icon: 'el-icon-menu',
        //                 },
        //             },
        //             {
        //                 path: 'complex',
        //                 component: () => import('@/views/table/complex.vue'),
        //                 name: 'complex',
        //                 meta: {
        //                     name: '职位管理',
        //                     icon: 'el-icon-s-grid',
        //                 },
        //             },
        //         ],
        //     },
        //     // {
        //     //     path: 'chart',
        //     //     component: () => import('@/views/chart/index.vue'),
        //     //     name: 'chart',
        //     //     meta: {
        //     //         name: '数据中心',
        //     //         icon: 'el-icon-s-data',
        //     //         hide: true
        //     //     },
        //     //     children: [
        //     //         {
        //     //             path: 'column',
        //     //             component: () => import('@/views/chart/column.vue'),
        //     //             name: 'column',
        //     //             meta: {
        //     //                 name: '销售统计',
        //     //                 icon: 'el-icon-s-data',
        //     //             },
        //     //         },
        //     //         {
        //     //             path: 'line',
        //     //             component: () => import('@/views/chart/line.vue'),
        //     //             name: 'line',
        //     //             meta: {
        //     //                 name: '学员统计',
        //     //                 icon: 'el-icon-minus',
        //     //             },
        //     //         },
        //     //         {
        //     //             path: 'more',
        //     //             component: () => import('@/views/chart/more.vue'),
        //     //             name: 'more',
        //     //             meta: {
        //     //                 name: '授课统计',
        //     //                 icon: 'el-icon-s-operation',
        //     //             },
        //     //         },
        //     //     ],
        //     // },
        //     // {
        //     //     path: 'text',
        //     //     component: () => import('@/views/text/text.vue'),
        //     //     name: 'text',
        //     //     meta: {
        //     //         name: '组织和人员',
        //     //         icon: 'el-icon-document',
        //     //         hide: true
        //     //     },
        //     // },
        //     /**
        //      * 模板原始路径，此次需求不需要
        //      */
        //     // {
        //     //     path: 'uploading',
        //     //     component: () => import('@/views/uploading/uploading.vue'),
        //     //     name: 'uploading',
        //     //     meta: {
        //     //         name: '自定义图片上传',
        //     //         icon: 'el-icon-upload',
        //     //         hide: true,
        //     //     },
        //     // },
        //     // {
        //     //     path: 'map',
        //     //     component: () => import('@/views/map/index.vue'),
        //     //     name: 'map',
        //     //     meta: {
        //     //         name: '地图',
        //     //         icon: 'el-icon-map-location',
        //     //         hide: true,
        //     //     },
        //     //     children: [
        //     //         {
        //     //             path: 'baidu',
        //     //             component: () => import('@/views/map/baidu.vue'),
        //     //             name: 'baidu',
        //     //             meta: {
        //     //                 name: '百度地图',
        //     //                 icon: 'el-icon-guide',
        //     //             },
        //     //         },
        //     //         {
        //     //             path: 'autoNavi',
        //     //             component: () => import('@/views/map/autoNavi.vue'),
        //     //             name: 'autoNavi',
        //     //             meta: {
        //     //                 name: '高德地图',
        //     //                 icon: 'el-icon-position',
        //     //             },
        //     //         },
        //     //     ],
        //     // },
        //     // {
        //     //     path: 'contact',
        //     //     component: () => import('@/views/contact/contact.vue'),
        //     //     name: 'contact',
        //     //     meta: {
        //     //         name: '联系我们',
        //     //         icon: 'el-icon-phone',
        //     //         hide: true,
        //     //     },
        //     // },
        //     // {
        //     //     path: 'else',
        //     //     component: () => import('@/views/else/index.vue'),
        //     //     name: 'else',
        //     //     meta: {
        //     //         name: '其他组件',
        //     //         icon: 'el-icon-question',
        //     //         hide: true,
        //     //     },
        //     //     children: [
        //     //         {
        //     //             path: 'convas',
        //     //             component: () => import('@/views/else/canvas.vue'),
        //     //             name: 'convas',
        //     //             meta: {
        //     //                 name: '页面生成图片',
        //     //                 icon: 'el-icon-picture-outline',
        //     //             },
        //     //         },
        //     //         {
        //     //             path: 'code',
        //     //             component: () => import('@/views/else/code.vue'),
        //     //             name: 'code',
        //     //             meta: {
        //     //                 name: '动态二维码',
        //     //                 icon: 'el-icon-full-screen',
        //     //             },
        //     //         },
        //     //     ],
        //     // },
        // ],
    },
]

export default router
